Управление сотрудниками

UserManager

Управление сотрудниками.

class yandex_b2b_go.user.UserManager(client: Client)

Атрибут

  • SpendingManager — детализация затрат сотрудников.

    spending: SpendingManager
    

Методы

  • create — создает сотрудника.
  • list — получает список сотрудников.
  • get — получает подробную информацию о сотруднике клиента.
  • update — обновляет информацию о сотруднике клиента.
  • archive — архивирует сотрудник клиента.

Create

Создает сотрудника.

async def create(user: User) -> UserCreateResponse

Параметр

  • user – данные о новом сотруднике. Класс User.

В случае успешного выполнения возвращает класс UserCreateResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import UserManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    user_manager = UserManager(client=client)
    try:
        user = typing.User(
            fullname='Иванов Илья',
	    phone='+79990000000',
	    is_active=True,
	    nickname='ИИлья',
	    cost_centers_id='123...fef',
	    department_id='987...ghj',
	    limits=[
	        typing.Limit(
		    limit_id='abcdef_taxi',
		    service=typing.Service('taxi')
		),
	        typing.Limit(
		    limit_id='abcdef_eats',
		    service=typing.Service('eats')
		),
	        typing.Limit(
		    limit_id='abcdef_drive',
		    service=typing.Service('drive')
		),
	    ],
        )
        response_create = await user_manager.create(user=user)
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

List

Получает список сотрудников.

async def list(
    limit: Optional[int] = None, 
    cursor: Optional[str] = None
) -> UserListResponse

Параметры

  • limit – количество выводимых записей. При отсутствии данного параметра возвращается информация о первых 100 записях.
  • cursor – отметка запроса (возвращается в теле ответа на предыдущий запрос). Для запроса первой страницы параметр указывать не нужно, для запросов последующих страниц — обязательно.

В случае успешного выполнения возвращает класс UserListResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import UserManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    user_manager = UserManager(client=client)
    try:
        users_list = await user_manager.list(limit=100, offset=0)
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Get

Получает подробную информацию о сотруднике клиента.

async def get(user_id: str) -> UserGetResponse

Параметр

  • user_id – идентификатор сотрудника, по которому предоставляется информация.

В случае успешного выполнения возвращает класс UserGetResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import UserManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    user_manager = UserManager(client=client)
    try:
        user_info = await user_manager.get(user_id='f65...c57d')
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Update

Обновляет информацию о сотруднике клиента.

async def update(
    user_id: str, 
    user: User
) -> UserUpdateResponse

Параметр

  • user_id – идентификатор сотрудника, по которому обновляется информация.
  • user – данные о сотруднике, класс User.

В случае успешного выполнения возвращает класс UserUpdateResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import UserManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    user_manager = UserManager(client=client)
    
    try:
	user = typing.User(
            fullname='Иванов Илья',
	    phone='+79990000000',
	    is_active=True,
	    nickname='ИИлья',
	    cost_centers_id='123...fef',
	    department_id='987...ghj',
	    limits=[
	        typing.Limit(
		    limit_id='abcdef_taxi',
		    service=typing.Service('taxi')
		),
	        typing.Limit(
		    limit_id='abcdef_eats',
		    service=typing.Service('eats')
		),
	        typing.Limit(
		    limit_id='abcdef_drive',
		    service=typing.Service('drive')
		),
	    ],
        )
        response_update = await user_manager.update(user_id='f65...c57d', user=user)
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Archive

Архивирует сотрудника клиента.

async def archive(user_id: str) -> UserUpdateResponse

Параметр

  • user_id – идентификатор сотрудника, информация по которому архивируется.

В случае успешного выполнения возвращает класс UserUpdateResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import UserManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    user_manager = UserManager(client=client)
    
    try:
        response_archive = await user_manager.archive(user_id='f65...c57d')
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

SpendingManager

Детализация затрат сотрудников.

class yandex_b2b_go.user.SpendingManager(client: Client)

Метод

  • list — получает детализацию затрат сотрудников, совершенных в рамках их лимитов.

List

Получает детализацию затрат сотрудников, совершенных в рамках их лимитов.

async def list(user_ids: UsersSpendingListRequest) -> UsersSpendingListResponse

Параметр

  • user_ids – список сотрудников, по которым запрашивается детализация затрат, класс UsersSpendingListRequest.

В случае успешного выполнения возвращает класс UserSpendingListResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import UserManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    user_manager = UserManager(client=client)
    
    try:
	user_ids = UsersSpendingListRequest(
	    user_ids=[
		'26e8...3f62',
		'5758...0ede',
	    ],
	)
        response_archive = await user_manager.spending.list(user_ids=user_ids)
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())
Предыдущая
Следующая